Apparatus and method for providing domain information

ABSTRACT

An apparatus and method for providing domain information are provided. The apparatus includes a storage module that stores domain information, and a control module that receives a message requesting domain information from a device intending to join a domain, responds to the received message, and transmits the stored domain information to the device, in which the control module transmits a message including the domain information updated according to the domain participation of the device.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from Korean Patent Application No. 10-2007-0008984 filed on Jan. 29, 2007, in the Korean Intellectual Property Office, and U.S. Provisional Patent Application No. 60/846,105, filed on Sep. 21, 2006, in the United States Patent and Trademark Office, the disclosures of which are incorporated herein in their entirety by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Methods and apparatuses consistent with the present invention relate to providing domain information, and more particularly, to providing information about a predetermined domain when a device intends to join the domain.

2. Description of the Related Art

CORAL is a technology for improving interoperability between digital rights management (DRM) technologies, and the CORAL Consortium was established for this purpose.

Further, the concept of a “domain”, which represents a logical set of multiple devices, is presented in CORAL, and there is a domain-management server that manages such a domain. The domain-management server is also called a domain manager. The domain is described in detail in “Core Architecture V3.0” and “Ecosystem V1.0” of the CORAL specification.

The domain-management server manages domains so that each of the devices belongs to a certain domain according to specified rules, and content can be shared between devices belonging to the same domain.

The method involving a device joining a domain is described with reference to FIG. 1 in the following.

First, it is assumed that there is a first device 110 in domain A. If a second device 120 intends to join domain A, the second device 120 connects to a domain-management server 140, receives information about domain A from the domain-management server 140, and sets up the environment using the received information.

Here, the information about domain A includes the type, function, and identification information of the device included in domain A, and can include information about the domain-management server 140 like the network address (e.g., URL address) of the domain-management server 140 managing domain A.

Further, the domain-management server 140 can perform the authentication on the second device 120, and a substitute-authentication device 130 can separately exist within domain A. If there is a substitute-authentication device 130, information of domain A can include information of the substitute-authentication device 130 (e.g., the type, function and identification information of the device).

Likewise, according to the related art, in order for a device to join a domain, information about the domain, i.e., domain information, should be set up, and for this the device should connect to a separate domain-management server and receive domain information.

However, in order for a user to connect to a domain-management server using a device, the user should directly input the address of the domain-management server using an input means attached to the device, or retrieve the stored address of the domain-management server.

In the case where a device such as a notebook computer or a personal computer has a means for inputting letters, it is easy to connect to the domain-management server, but in the case where the device includes only a 4-way key or an inconvenient input means, it is difficult to connect to the domain-management server.

Further, because the device should have a wired or wireless communication function for connecting to the domain-management server, a device without such function cannot join the domain, which is a problem.

Therefore, there is a need for a method where devices having an inconvenient interface for connecting to a domain-management server or having no wired or wireless internet function can conveniently join a domain.

SUMMARY OF THE INVENTION

Exemplary embodiments of the present invention overcome the above disadvantages and other disadvantages not described above. In addition, the present invention is not required to overcome the disadvantages described above, and an exemplary embodiment of the present invention may not overcome any of the problems described above.

The present invention provides an apparatus and method for setting up domain information after receiving domain information directly transmitted from an existing device without separate communication with a domain-management server.

However, the present invention is not limited to the apparatus and method described above. Other aspects not described herein will be more definitely understood by those in the art from the following detailed description.

According to an exemplary embodiment of the present invention, there is provided an apparatus for providing domain information, the apparatus including a storage module that stores domain information, and a control module that receives a message requesting domain information from a device intending to join a domain, responds to the received message, and transmits the stored domain information to the device, in which the control module transmits a message including the domain information updated according to the domain participation of the device.

According to another exemplary embodiment of the present invention, there is provided a method of providing domain information, the method including receiving a message that requests domain information from a device intending to join a domain, transmitting the stored domain information to the device in response to the received message, and transmitting a message that includes the domain information updated according to the participation of the device.

According to an exemplary embodiment of the present invention, there is provided an apparatus for providing domain information, the apparatus including a storage module that stores domain information, a control module that generates a message including the changed domain information and event-identification information indicating the change of the domain information, and a communication-interface module that transmits the generated message.

According to an exemplary embodiment of the present invention, there is provided a method of providing domain information, the method including changing domain information, generating a message including the changed domain information and event-identification information indicating the change of the domain information, and transmitting the generated message.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention will become apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:

FIG. 1 illustrates a method where a device joins a domain according to CORAL.

FIG. 2 illustrates a system for providing domain information according to an exemplary embodiment of the present invention.

FIG. 3 is a block diagram illustrating the structure of a device for providing domain information according to an exemplary embodiment of the present invention.

FIG. 4 illustrates a method of providing domain information according to an exemplary embodiment of the present invention.

FIG. 5 illustrates a method of providing domain information according to another exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION

Exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

The present invention may be understood more readily by reference to the following detailed description of exemplary embodiments and the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the invention to those skilled in the art, and the present invention will only be defined by the appended claims. Like reference numerals refer to like elements throughout the specification.

Exemplary embodiments of the present invention are described hereinafter with reference to flowchart illustrations of user interfaces, methods, and computer program products according to exemplary embodiments of the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks.

These computer program instructions may also be stored in a computer usable or computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks.

The computer program instructions may also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.

Further, each block of the flowchart illustrations may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in reverse order, depending upon the functionality involved.

FIG. 2 illustrates a system for providing domain information according to an exemplary embodiment of the present invention.

Referring to FIG. 2, it is assumed that while a first device 210 and a second device 220 join an arbitrary domain and operate, a user introduces a third device 230, and tries to replay a music file stored in the first device 210 using the third device 230. Further, it is assumed that the first device 210, the second device 220, and the third device 230 support a common communication protocol.

First, the third device 230 broadcasts a message requesting information of devices belonging to the current domain while providing information about the third device 230, and each of the devices transmits a message including its information, for example, device-identification information or information of provided functions, to the third device 230 in response to the broadcast message. Here, the message broadcast by the third device 230 can include strings indicating that the third device 230 is an element constituting an “ecosystem” specified in CORAL, i.e., a “specified service model supporting CORAL”. In other words, the identification information of the ecosystem to which the third device 230 belongs is included in the message, and is broadcast to devices belonging to the current domain.

Likewise, a process where a device intending to join an arbitrary domain informs devices existing in the domain of its existence, and receives information of each of the existing devices in response is called a discovery process. The discovery process can be performed using a mutual-recognition method between devices constituting a communication-network environment specified according to the related art.

Through such a process, the third device 230 obtains information of devices belonging to a domain.

Then, the third device 230 selects a certain device of devices belonging to the current domain, and sends a request for domain information. Here, it is assumed that the third device 230 has selected the first device 210. The user can directly select a device, or the third device 230 can arbitrarily select a device.

In response to the request for domain-information, the first device 210 transmits its domain information to the third device 230, the third device 230 sets up the environment for operation within the domain using the transmitted domain information.

That is, the first device 210 that joined a domain provides domain information to the third device 230, and therefore a user does not need to input domain information to the third device 230, and can conveniently set up the domain environment using the domain information received from the first device 210. After a domain environment is appropriately set up, the third device 230 can easily receive domain-related services provided by the domain-management server without additional user input.

In the case where a user directly connects the third device 230 to the first device 210, the aforementioned discovery process can be omitted. Here, the first device 210 can provide its domain information to the third device 230, and the first device 210 informs a domain-management server (not shown) of the fact that the third device 230 has joined the domain. In addition, the domain information of the domain-management server (not shown) is updated.

When the domain-environment setup of the third device 230 is completed, the third device 230 can connect to the domain-management server (not shown), and register it in the domain-management server using domain information received from the first device 210. Further, when a new device is registered in the domain-management server, the domain-management server informs all devices belonging to the domain of the registration. In this manner, all devices belonging to the same domain have the same domain information.

That is, because it is desirable that all devices belonging to the same domain have the same domain information, when there is a change in the domain information, the change is informed to all devices belonging to the domain.

FIG. 3 is a block diagram illustrating a device for providing domain information according to an exemplary embodiment of the present invention, and the device 300 illustrated in FIG. 3 is a device that provides domain information, and corresponds to the first device 210 illustrated in FIG. 2.

Referring to FIG. 3, the device 300 for providing domain information includes a storage module 310, a communication-interface module 320, a device-connection module 330, and a control module 340.

The storage module 310 stores domain information, and the stored domain information includes the type, function and identification information of a device included in the domain, and information about a domain-management server like a network address (e.g., an URL) of the domain-management server that manages the domain. Further, the storage module 310 can include information of the device 300.

The communication-interface module 320 communicates with the domain-management server, or communicates with other devices belonging to the domain through a wired or wireless medium. Further, the communication-interface module 320 can communicate with devices intending to join a domain.

The device-connection module 320 is a module to directly connect to other devices, and can be a communication module such as a USB communication module or an IEEE 1394 communication module supporting the communication between devices.

The control module 340 controls the overall operation of the device 300, and extracts domain information stored in the storage module 310, and generates data to transmit the extracted domain information to the device intending to join the domain.

Further, in the case where the domain information is updated, the control module 340 generates a message about the change of the domain information in order to inform other devices belonging to the domain of the update.

The operation between modules constituting the device 300 illustrated in FIG. 3 is described in detail with reference to FIGS. 4 and 5 in the following.

FIG. 4 illustrates a method of providing domain information according to an exemplary embodiment of the present invention.

First, if the communication-interface module 320 receives a message requesting information of a device 300 from a device with an intention to join a domain while informing of the existence of the device S410, the control module 340 extracts information of the device 300 from the storage module 310, and transmits the extracted information to the device through the communication-interface module 320 S420. That is, the aforementioned discovery process is performed.

Here, the message transmitted from the device intending to join can include strings indicating that the device is an element constituting an “ecosystem” specified in CORAL, i.e., a “specified service model supporting CORAL”. In other words, the identification information of the ecosystem can be included in the message and broadcast to devices belonging to the current domain, and FIG. 4 illustrates the case where a certain device 300 receives the broadcast message.

The strings can be, for example, in the form shown in the following.

-   -   “coral-<coralEcosystemName>”

Here, <coralEcosystemName> is identification information of the service model to which the device belongs, and an example of such identification is the name of a service model.

Then, if the device sends a request for domain information to the device 300 S430, the control module 340 extracts domain information stored in the storage module 310, and transmits the extracted domain information to the device through the communication-interface module 320 S440.

The device sets up domain environment using the received domain information S450, connects to the domain-management server (not shown) based on the domain information, and informs the domain of the joining S460. Here, the domain-management server updates the existing domain information S470, and broadcasts the result of the update to all devices belonging to the current domain. As such, all devices belonging to the domain have the same domain information.

As another example, the domain-environment setup of the device is completed, the device 300 can inform all devices joining the domain and the domain-management server of the fact that a new device belongs to the domain. That is, the device that provides domain information broadcasts the update of the domain information due to the device's joining the domain, and therefore all devices within the domain have the same domain information.

Further, the domain information is identically kept between devices existing within the domain.

For example, in the case where the domain information of an arbitrary device within the domain has been changed, the device can inform other devices of the change of the domain information by a broadcast.

Likewise, the type attribute for the event that indicates the change of the domain information can be set as the following URL in an event message.

-   -   “urn:coral:core:4-0:events:configuration-change”

Further, the event message can include the changed domain information along with the abovementioned event-type setting, which is described in the following.

<event type=“urn:coral:core:4-0:events:configuration-change”>  <time>2008-12-17T09:30:47</time>   <event-id xmlns=“http://whatever.org/”>123</event-id>   <user-account xmlns=“http://whatever.org/”>    <address>http://www.bestshopever.com/users</address>    <username>homers</username>   </user-account> </event>

Here, <time> refers to the time when an event occurs, and <event-id> refers to the type of event. Further, “123” is the event-identification number for the change of domain information.

Further, <user-account> is an element that informs of the change of the user account, and <address> and <username> detail of the new user information.

FIG. 4 illustrates the case where a specified device 300 existing in a domain provides domain information a device intending to join the domain, but other devices existing in the domain can provide domain information while the discovery process is performed on the device intending to join the domain.

FIG. 5 illustrates a method of providing domain information according to another exemplary embodiment of the present invention.

First, a user connects a device intending to join a domain to the device-connection module 330 of the device S510.

Then, if the device sends a request for domain information to the device 300 S520, the control module 340 extracts domain information stored in the storage module 310, and transmits the extracted domain information to the device through the device-connection module 330 S530.

The device intending to join the domain sets up domain environment using the received domain information S540, and the device 300 connects to the domain-management server through the communication-interface module 320, and informs that a new device has joined the domain S550.

Here, the domain-management server updates the existing domain information S560, and broadcasts the result of the update to all devices belonging to the current domain. As such, all devices belonging to the domain have the same domain information.

The term “module”, as used herein, means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which performs certain tasks. A module may be configured to reside on the addressable storage medium and configured to execute on one or more processors. Thus, a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.

It should be understood by those of ordinary skill in the art that various replacements, modifications and changes may be made in the form and details without departing from the spirit and scope of the present invention as defined by the following claims. Therefore, it is to be appreciated that the above described exemplary embodiments are for purposes of illustration only and are not to be construed as limitations of the invention.

According to the present invention, devices can conveniently join a domain. 

1. An apparatus for providing domain information, the apparatus comprising: a storage module that stores domain information; and a control module that receives a first message requesting domain information from a device intending to join a domain, responds to the received first message, and transmits the stored domain information to the device, wherein the control module transmits a second message comprising domain information updated according to domain participation of the device.
 2. The apparatus of claim 1, wherein the device sets a domain environment using the stored domain information.
 3. The apparatus of claim 1, wherein the second message is transmitted by a broadcast.
 4. The apparatus of claim 1, wherein the first message is transmitted by a broadcast.
 5. The apparatus of claim 3, wherein the second message comprises event-identification information indicating an update of the domain information.
 6. A method of providing domain information, the method comprising: receiving a first message that requests domain information from a device intending to join a domain; transmitting stored domain information to the device in response to the first message; and transmitting a second message that comprises domain information updated according to a participation of the device.
 7. The method of claim 6, wherein the transmitting the second message comprises setting a domain environment using the stored domain information transmitted by the device.
 8. The method of claim 6, wherein the second message is transmitted by a broadcast.
 9. The method of claim 6, wherein the first message is transmitted by a broadcast.
 10. The method of claim 6, wherein the second message comprises event-identification information indicating an update of the domain information.
 11. An apparatus for providing domain information, the apparatus comprising: a storage module that stores domain information; a control module that generates a message comprising changed domain information and event-identification information indicating the changed domain information; and a communication-interface module that transmits the generated message.
 12. The method of claim 11, wherein the generated message is transmitted by a broadcast.
 13. A method of providing domain information, the method comprising: changing domain information; generating a message comprising changed domain information and event-identification information indicating the changed domain information; and transmitting the generated message.
 14. The method of claim 13, wherein the generated message is transmitted by a broadcast.
 15. A computer readable recording medium storing a computer readable program for executing a method, the method comprising: receiving a first message that requests domain information from a device intending to join a domain; transmitting stored domain information to the device in response to the first message; and transmitting a message that comprises domain information updated according to a participation of the device.
 16. A computer readable recording medium storing a computer readable program for executing a method, the method comprising: changing domain information; generating a message including changed domain information and event-identification information indicating the changed domain information; and transmitting the generated message. 